<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../js/vue.js"></script>
</head>
<body>
  <!-- 
    1. Vue中的数据代理：
      通过vm对象来代理data对象中属性的操作（读/写）
    2. Vue中数据代理的好处：
      更加方便的操作data中的数据
    3. 基本原理：
      通过Object.defineProperty()把data对象中所有属性添加到vm上。
      为每一个添加到vm上的属性，都指定一个getter/setter。
      在getter/setter内部去操作（读/写）data中对应的属性。
   -->
  <div id="root">
    <h2>{{name}}</h2>
    <h2>{{address}}</h2>
  </div>
  <script>
    Vue.config.productionTip = false;
    const vm = new Vue({
      el: "#root",
      data: {
        name: '名字',
        address: '地址'
      }
    })
    // vm._data === options.data === data
    console.log(vm)
  </script>
</body>
</html>